package org.finalministry.objects.osm;

import javax.xml.bind.annotation.XmlTransient;

import org.codehaus.jackson.annotate.JsonIgnore;

import com.vividsolutions.jts.geom.Geometry;

/**
 * A way is an ordered list of between 2 and 2,000 nodes that define a polyline. Ways are used to represent linear
 * features such as rivers and roads.
 * <p>
 * Ways can also represent the boundaries of areas (solid polygons) such as buildings or forests. In this case, the
 * way's first and last node will be the same. This is called a "closed way".
 * 
 * @author lussopi
 */
public class OSM_Way {

   private Long id;
   private Long osmID;
   private Long originID;

   @XmlTransient
   @JsonIgnore
   /**
    * This geometry will be enriched in a second step after the import and then it will contain the entire polygon or line for further examination.
    */
   private Geometry geometry;

   public OSM_Way(Long id, Long osmID, Long originID, Geometry geometry) {

      super();
      this.id = id;
      this.osmID = osmID;
      this.originID = originID;
      this.geometry = geometry;
   }

   public Long getId() {

      return id;
   }

   public void setId(Long id) {

      this.id = id;
   }

   public Long getOriginID() {

      return originID;
   }

   public void setOriginID(Long originID) {

      this.originID = originID;
   }

   public Geometry getGeometry() {

      return geometry;
   }

   public void setGeometry(Geometry geometry) {

      this.geometry = geometry;
   }

   public Long getOsmID() {

      return osmID;
   }

   public void setOsmID(Long osmID) {

      this.osmID = osmID;
   }

}
